8118ff49289b055f706c0d8296d41ae75c672675,src/main/java/com/fasterxml/jackson/dataformat/javaprop/util/JPropPathSplitter.java,JPropPathSplitter,_asInt,#String#,84

Before Change


        final int len = segment.length();
        if (len > 0) {
            for (int i = 0; i < len; ++i) {
                char c = segment.charAt(i);
                if ((c > '9') || (c < '0')) {
                    return -1;
                }
            }
            // Fine; is simple int indeed (possibly with leading zeroes)
            if (len <= 9) {
                return Integer.parseInt(segment);
            }
            if (len == 10) {

After Change


    protected int _asInt(String segment) {
        final int len = segment.length();
        // do not allow ridiculously long numbers as indexes
        if ((len == 0) || (len > 9)) {
            return -1;
        }
        char c = segment.charAt(0);
        if ((c > '9') || (c < '0')) {
            return -1;
        }
        for (int i = 0; i < len; ++i) {
            c = segment.charAt(i);
            if ((c > '9') || (c < '0')) {
                return -1;
            }
        }